When a carriage carrying for example a printhead in case of a printing apparatus or an optical head in case of scanning apparatus is moved along a line to be printed or scanned, it is essential to detect the actual position of the carriage or the times at which the carriage reaches predetermined positions with high accuracy in order to provide synchronizing signals for the printing or scanning process. According to a conventional approach, an encoder scale, a so-called codestrip is stationarily mounted in the frame of the apparatus and extends over the whole length of the path of travel of the carriage. The codestrip is provided with regularly spaced position marks which will be termed "slits" hereinafter. A sensor mounted on the carriage is arranged to detect the individual slits and to deliver a sequence of detection signals, e.g., a pulse train reflecting the sequence of slits, so that the position of the carriage can be determined by counting the pulses of this pulse train.
If the sensor is a transmission-type or reflection-type optical sensor, the position marks on the codestrip may be formed by slits in the proper sense of the word, i.e., a sequence of transparent and opaque regions, or by bars, i.e., a sequence of bright and dark areas. In general, the encoding system is not limited to optical systems but may comprise, for example, a magnetic codestrip and a magnetic head for detecting magnetic position marks.
U.S. Pat. No. 5,170,416 discloses a method of employing a transmission-type optical sensor. This document is concerned with the correction of duty-cycle errors generated by imperfections in the codestrip and/or the sensor. Such duty-cycle errors may, for example, be caused by differences in the rise and fall times of the pulse train delivered by the sensor or by random errors in the positions of the opaque-transparent and transparent-opaque transitions of the codestrip. To correct these errors, it is proposed to measure the time elapsed between the successive opaque-transparent transitions and to generate a synthetic pulse signal the duty-cycle of which is proportional to the measured time.
If a comparatively cheap codestrip is used, there may be considerable random variations between the successive opaque-transparent transition or, more generally, between the positions of successive slits. In addition, a systematic error may be caused by expansion or shrinkage of the codestrip due to mechanical stresses or temperature variations. These kinds of errors cannot be corrected with the prior proposed system.
In order to achieve a reliable position detection, it is therefore necessary to use a high quality codestrip running the full length of the platen, which is rather expensive. In particular, the codestrip should be made of a material which has a thermal expansion coefficient close to zero. The costs for such a codestrip and the mounting structure thereof tend to increase drastically when the carriage has to travel over a large distance, as is the case for example in a large-format printing apparatus in which a single print line may have a length of more than one meter.